Package-level declarations

Types

Link copied to clipboard
abstract class AbstractAwaitable<P : Any, R : AwaitableResponse>(val payload: P, val id: String = UUID.randomUUID().toString(), val timestamp: Instant = Instant.now(), persistent: Boolean = false) : Awaitable<P, R>

Convenient support for implementing Awaitable

Link copied to clipboard

Something awaited by an agent process, such as a request for user input. Added to the Blackboard and treated specially.

Link copied to clipboard

Response to an Awaitable

Link copied to clipboard
class ConfirmationRequest<P : Any>(payload: P, val message: String, persistent: Boolean = false) : AbstractAwaitable<P, ConfirmationResponse>

Request confirmation from the user before promoting an object to the blackboard. Rejection will hold back a flow.

Link copied to clipboard
data class ConfirmationResponse(val id: String = UUID.randomUUID().toString(), val awaitableId: String, val accepted: Boolean, persistent: Boolean = false, val timestamp: Instant = Instant.now()) : AwaitableResponse
Link copied to clipboard
class FormBindingRequest<O : Any>(form: Form, val outputClass: Class<O>, val population: O? = null, val validationErrors: List<ValidationError> = emptyList(), persistent: Boolean = false) : AbstractAwaitable<Form, FormResponse>

Present the user with a form and bind it to the given class

Link copied to clipboard
data class FormResponse(val id: String = UUID.randomUUID().toString(), val awaitableId: String, val formSubmission: FormSubmission, persistent: Boolean = false, val timestamp: Instant = Instant.now()) : AwaitableResponse
Link copied to clipboard

Response of handling an Awaitable

Link copied to clipboard
interface ValidationError